Manual do serviço de Conexão de redes remotas pelo protocolo
IPSEC
O sistema CLOUD-BRICKS, oferece dois tipos de conexão VPN:
1. Conexão L2TP/IPSEC
- Serve para conectar computadores independentes numa VLAN
específica.
- É útil para configurar um acesso remoto criptografado com o
objetivo de gerenciar os servidores de uma VLAN desde um
computador desktop ou laptop.
- É possível se conectar desde qualquer endereço IP (útil para
“RoadWarriors”)
- A autenticação é feita utilizando certificados digitais
X.509.
- Este tipo de conexão pode ser configurada no sistema de cloud
no link “Usuários VPN”.
- Veja o documento Manual
VPN Windows para mais detalhes.
2. Rede Remota IPSEC
- Serve para interconectar uma rede remota com uma VLAN dentro
do Cloud utilizando um túnel IPSEC.
- A ideia é conectar um ruteador na rede do cliente para que
seja possível acessar transparentemente os servidores do Cloud.
- Este tipo de conexão pode ser configurada no sistema de cloud
no link “Redes VPN”.
- O acesso é restrito unicamente ao endereço IP da rede do
cliente.
- A autenticação é feita utilizando um shared key do IPSEC.
- Quando uma rede externa é conectada numa VLAN pelo sistema
IPSEC, o endereço IP público da rede remota não pode ser usado
para nenhuma outra conexão VPN.
- O objetivo de este documento é mostrar como configurar este
tipo de conexão.
TOPOLOGIA DE REDE
CONFIGURAÇÃO NO CLOUD
Para iniciar a configuração você precisa das seguintes
informações:
- Endereço IP público usado pelo ruteador do cliente.
- Endereço IP e máscara da rede privada do cliente.
- Se o ruteador estiver atrás de uma conexão NAT, também
precisará do endereço IP privado do ruteador.
No sistema de Cloud, faça clic no link “Conexões → Redes VPN”,
agora pode preencher as informações de configuração:
Nome: Um identificador para a conexão, pode ser o nome do
cliente.
Shared Key: É a senha para proteger o acesso à rede VLAN.
Endereço IP público: É o IP utilizado pelo ruteador para
conectar à Internet.
Endereço IP privado: Se seu ruteador estiver atrás de uma
conexão NAT, tem que especificar o endereço IP privado do
ruteador. Se este não for o caso, pode deixar sem preencher.
Rede privada: IP e máscara da rede privada do cliente.
(Exemplo: 192.168.1.0/24 ou 172.30.11.0/255.255.255.0)
O sistema pode rejeitar sua rede privada se:
- Já existe outra conexão VPN utilizando uma rede privada
parecida que possa gerar conflitos de ruteamento.
- A rede privada do cliente entra em conflito com alguma das
VLANS configuradas no servidor do cloud.
Outras restrições:
- Somente são permitidas redes privadas IPv4 (IPv6 ainda não é
suportado neste tipo de conexão)
- Os endereços IP da rede privada devem pertencer as redes
10.X.X.X/16 ou /24, 192.168.X.X/16 ou 172.16.0.0/12.
- Endereços IP privados da rede 196.254.X.X/26 não devem ser
utilizados.
Depois de clicar no botão “Salvar alterações” o sistema está pronto
para receber a conexão IPSEC, agora é necessário configurar o
ruteador do lado do cliente.
IMPORTANTE:
- Os servidores virtuais da VLAN do Cloud que vai ser acessada,
tem que ser desligados e ligados de novo (não reiniciados) para
que o sistema de cloud possa configurar o ruteamento necessário
para acessar a rede do cliente.
- A rede VLAN do Cloud que vai ser acessada normalmente tem o
endereço 10.80.XX.0/24 (onde XX é o número da VLAN)
RUTEADOR LINUX (CENTOS/REDHAT/FEDORA)
Um computador com sistema operacional Linux pode ser usado como
ruteador IPSEC.
Estas instruções foram feitas para distribuções Linux compatíveis
com RedHat Enterprise Linux (CentOS, Fedora, etc), mas podem
servir como guia para outras distribuções também.
- Instalar o pacote openswan:
yum install openswan
- Editar o arquivo /etc/ipsec.secrets deixando somente uma
linha com as seguintes informações:
<IP_RUTEADOR> <IP_CLOUD>:
PSK “<SHARED_KEY>”
IP_RUTEADOR: É o IP do seu
ruteador, se estiver atrás de NAT, tem que utilizar o IP privado,
caso contrario o IP público.
IP_CLOUD: É o endereço IP do seu
servidor físico do cloud.
SHARED KEY: É a senha (shared
key) que foi configurada dentro do sistema de cloud no link “Redes
VPN”
Exemplo:
192.168.0.250 74.50.112.156: PSK
"rKtllZXP....."
- Editar o arquivo /etc/ipsec.conf assim: (os espaços ao inicio
das linhas são muito importantes)
version 2 # conforms to second version of ipsec.conf specification
config setup
dumpdir=/var/run/pluto/
nat_traversal=yes
virtual_private=%v4:0.0.0.0/0
protostack=netkey
force_keepalive=yes
keep_alive=60
conn WEBLINK
authby=secret
pfs=yes
auto=start
keyingtries=3
ikelifetime=8h
keylife=1h
type=tunnel
#Endereço IP público do seu ruteador
#(se estiver atras de NAT, utilizar o IP privado)
left=192.168.0.250
#A rede privada do cliente no formato IP/mask
leftsubnet=192.168.0.0/24
## IP privado do ruteador:
leftsourceip=192.168.0.250
#Endereço IP público do seu servidor físico do cloud
right=74.50.112.156
#IP/mask da VLAN de destino no sistema cloud:
rightsubnet=10.80.45.0/24
dpddelay=10
dpdtimeout=20
dpdaction=clear
- Executar os seguintes comandos, e configurá-los num
script para que sejam rodados cada vez que o
sistema for reiniciado:
#Evitar ICMP redirects
for vpn in /proc/sys/net/ipv4/conf/*; do
echo 0 > $vpn/accept_redirects; echo 0 > $vpn/send_redirects;
done
- O ruteador tem que estar configurado como default gateway da
rede do cliente.
- Se o ruteador faz NAT pelo IPTABLES para compartilhar o
endereço IP público com os outros computadores da rede, é muito
importante que a regra de NAT do iptables NÃO TENTE ALTERAR
(fazer NAT) OS PACOTES COM DESTINO À VLAN do CLOUD:
Exemplo 1: Se sua regra de NAT
utiliza o comando SNAT assim:
iptables -t NAT -A POSTROUTING -s <rede_privada/mask> -j SNAT –to <IP_PUBLICO>
Então a regra tem que ignorar a rede
VLAN do Cloud assim:
iptables -t NAT -A POSTROUTING -s <rede_privada/mask> ! -d <rede_vlan/mask> -j SNAT –to <IP_PUBLICO>
Exemplo 2: Se sua regra de NAT
utiliza o comando MASQUERADE assim:
iptables -t NAT -A POSTROUTING -o <interface> -j MASQUERADE
Então a regra tem que ignorar a rede
VLAN do Cloud assim:
iptables -t NAT -A POSTROUTING -o <interface> ! -d <rede_vlan/mask> -j MASQUERADE
- Agora pode iniciar o serviço IPSEC para iniciar a conexão:
service ipsec start
- Acompanhe o log /var/log/secure para ver se o processo de
conexão é bem sucedido, procure o string: “IPsec SA established
tunnel mode”
- Se a conexão deu certo, o openswan deve criar as rutas
necessárias para acessar a VLAN do cloud, pode verificar a tabla
de ruteamento do Linux com o comando:
netstat -nr
- Agora deve ser possível fazer ping desde a rede do cliente
para os servidores virtuais do cloud e também no sentido
contrario. (lembre-se de sempre utilizar os endereços IP
privados nas duas redes)
RUTEADOR MIKROTIK
Um ruteador Mikrotik ou um computador com sistema operacional
RouterOS pode ser usado como ruteador IPSEC para conectar ao
serviço de VPN do Cloud.
- Utilize o software WinBox para conectar no seu ruteador.
- No menu escolha “IP → IPSEC”
- Na janela do IPSEC, faça clic no icone “+” para aparecer a
janela “New IPSEC Policy”
- Agora temos que preencher as seguintes informações:
- Src Address: IP/mask da rede privada interna do
cliente
- Dst Address: IP/mask da VLAN do sistema Cloud
- Agora clicar na aba “Action” dentro da mesma janela “New
IPSec Policy”
- Preencher as seguintes informações:
- Ativar o checkbox “Tunnel”
- SA Src Address: IP do ruteador (utilizar o IP
privado se estiver atrás de NAT)
- SA Dst Address: Endereço IP público do seru
servidor físico do cloud.
- Pode clicar OK.
- Agora clica na aba “Peers” da Janela IPSEC e depois clica no
icone “+”
- A Janela “New IPSEC Peer” deve aparecer.
- Preencher as seguintes informações:
- Address: Endereço IP público do seu servidor de
cloud.
- Auth Method: pre shared key
- Secret: Shared Key (senha) gerada no sistema de
cloud quando a Rede VPN foi configurada.
- Exchange mode: main
- Ativar o checkbox: “Send Initial Contact”
- Se seu ruteador estiver atrás de um NAT, ativar o
checkbox “NAT Traversal”
- Clic em OK
- Se o ruteador faz NAT para compartilhar o endereço IP público
com os outros computadores da rede, é muito importante que a
regra de NAT ou de MASQUERADE do firewall NÃO TENTE ALTERAR OS
PACOTES COM DESTINO À VLAN do CLOUD, ouseja a VLAN tem que ser
ignorada pelas regras de NAT e MASQUERADE.
A configuração está pronta, para o Mikrotik conectar com o serviço
de Cloud, precisamos gerar tráfego de dados com destino dos
servidores do cloud, para isso podemos fazer um ping para algum dos
nossos servidores virtuais (lembre-se de usar os endereços privados
10.X.X.X)
Também deve ser possível fazer ping desde os servidores virtuais
para máquinas na rede privada do cliente.
Conexão pelo ruteador Juniper (ScreenOS)
Vamos mostrar como utilizar um dispositivo Juniper com capacidade
de VPN para conectar ao serviço de Redes VPN do Cloud.
Recomendamos a configuración Policy-Based Site-toSite VPN AutoKey
IKE
O dispositivo Juniper já deve ter configuradas as zonas trust
(rede privada) e untrust (rede pública) com ruteamiento e NAT
funcionando apropriadamente.
Configurar endereços no Address Book
Aqui devemos configurar a rede privada do lado do cliente,
utilizaremos 192.168.0.0/24 como exemplo
Policy > Policy Elements > Addresses > List > New
Address Name: Trust_LAN
IP Address/Domain Name:
IP/Netmask: (select), 192.168.0.0/24
Zone: Trust
precisamos de mais uma entrada no address book para referenciar a
VLAN remota no Cloud:
Policy > Policy Elements > Addresses > List > New
Address Name: CLOUD-BRICKS-VLAN
IP Address/Domain Name:
IP/Netmask: (select), 10.80.
X.0/24
(substituir X com o número de la VLAN)
Zone: Untrust
Configuração da VPN
Vamos indicar o endereço IP remoto do cloud como destino da VPN,
(Endereço IP do seu servidor físico de cloud), neste exemplo vamos
chamar o gateway de "TO_WEBLINK
".
VPNs > AutoKey Advanced > Gateway > New
Faça clic em "Advanced", no campo "Preshared Key" deve colocar a
senha criada no gerenciador de Cloud-Bricks (Shared Key)
quando a rede VPN foi configurada. É muito importante seleccionar
"UNTRUST" como a interfaz de saída (outgoing interface)
Depois fazer clic em "Return" e depois em "OK".
Agora ir para VPNs > AutoKey IKE > New
Temos que usar o Gateway remoto criado no ponto anterior, neste
exemplo vamos chamar à VPN de "WEBLINK_TUNNEL".
Fazer clic em "Advanced" para configurar os seguintes parámetros:
Fazer clic em "Return" e depois "OK"
Criação do Policy
Para finalizar, vamos juntar os elementos criados anteriormente
usando um Policy, vá para:
Policies > (From: Trust, To: Untrust) New
Neste exemplo vamos chamar o policy de "WEBLINK_VPN".
É muito importante que as suas novas políticas sejam as primeras na
lista. Pode ser necessário subí-las para que fiquem no primeiro
lugar da lista.
Depois de fazer clic em "OK" a configuração está pronta, porém o
dispositivo somente iniciará a conexão quando veja que há tráfego
entre aa red local e a VLAN remota no Cloud-Brick.
Para gerar esse tráfego, sugerimos fazer um ping desde sua red local
para qualquer um dos endereços IP das máquinas virtuales que estejam
na VLAN configurada (10.80.X.Y, onde X corresponde ao número da sua
VLAN).